#include <crtime>
#include <iostream>
#include <fstream>
using namespace std;

void bubbleSort(int list[], int listLength) {
    while(listLength--)  {
        bool swapped = false;

        for(int i=0; i<listLength; i++) {
                if(list[i] > list[i + 1]) {
                        swap(list[i], list[i + 1]);
                        swapped = true;
                }
            }
            if(swapped == false) break;
    }
}

 void read_from_file(const char *filename, int a[], int length) {
     ifstream file(filename);

     for(int i=0; i < length; i++)
                file >>a[i];
 }


int main()
{
    int LEN = 5000;
    int a[LEN];

    read_from_file("m1_sorted.txt",a,LEN);
    unsigned int t_start = clock();
    bubbleSort(a,LEN);
    unsigned int t_finish = clock();
    unsigned int t_work = t_finish - t_start ;
    cout<<"m1_sorted"<<t_work<<" milliseconds \n";

    read_from_file("m2_reverse.txt",a,LEN);
    t_start = clock();
    bubbleSort(a,LEN);
    t_finish = clock();
    t_work = t_finish - t_start ;
    cout<<"m2_reverse"<<t_work<<" milliseconds \n";

    read_from_file("m3_shuffle.txt",a,LEN);
    t_start = clock();
    bubbleSort(a,LEN);
    t_finish = clock();
    t_work = t_finish - t_start ;
    cout<<"m1_shuffle"<<t_work<<" milliseconds \n";
    return 0;
}
